<?php
/*
 * Created on 06.05.2009
 *
 * To change the template for this generated file go to
 * Window - Preferences - PHPeclipse - PHP - Code Templates
 */
  require_once 'toolkit/settings.php';
	require_once  SERVERPATH . '/classes/DB.php';
	require_once  SERVERPATH . '/classes/Error.php';
 
 /**
  * Die Klasse Team stellt verschiedene Methoden zum Abrufen und Verändern von
  * Teams aus der Datenbank bereit. 
  * @author Norman Krüger
  */
 class Team{
 	
 	public $mysql;
 	public $id;
 	public $kurzname;
 	public $langname;
 	public $liga_id;
 
 	
 	function __construct(){
 	
 		$this->mysql = 	new DB();
 		
 		
 	}	
 	/**
 	 * Liefert bei übergebenen TeamID den Namen des Team aus der DB.
 	 * @param int TeamID
 	 */
 	function getTeam($id){	
 		$this->id = $id;
 		$query = 	"SELECT kurzname, langname, liga_id
					FROM stedano_teams
					WHERE id = ?
					LIMIT 1";
		
		if($stmt = $this->mysql->conn->prepare($query)) {		// Prepared Statement vorbereiten
			
			$stmt->bind_param('i', $id);				// Parameter in das Statement �bernehmen
			$stmt->execute();							// Statement abfeuern
			// Statement vorbereiten
			$stmt->bind_result(		$this->kurzname, 	// Klassenvariable befüllen
									$this->langname, 	// Klassenvariable befüllen
									$this->liga_id);	// Klassenvariable befüllen
			if($stmt->fetch()) {						// Ausführen des Statements
				$stmt->close();							// Statement killen
			}
			else{
				new Error("Kein Datensatz in Team gefunden",false);
			} 
		}
 	}
	
	/**
	 * Methode zum ändern der Liga eines Teams
	 * @param int LigaID
	 */
	function changeLiga($liga_id){
		$query = 	"UPDATE stedano_teams
					SET liga_id =?
					WHERE id = ?";
		$stmt = $this->mysql->conn->prepare($query);
		$stmt->bind_param('ii', $liga_id, $this->id);
		
		if(!$stmt->execute()){
			new Error("Ändern der Liga nicht möglich!",true);
		} 	
 	}
 	
 	/**
 	 * Löschen eines Team
 	 * @param int TeamID 
 	 */
 	function deleteTeam($id){
		$query = 	"DELETE FROM stedano_teams
					WHERE id = ?";
		$stmt = $this->mysql->conn->prepare($query);
		$stmt->bind_param('i', $id);
		
		if(!$stmt->execute()){
			new Error("Ändern der Liga nicht möglich!",true);
		} 	
 	}	
  
  /**
   * Methode zur Kontrolle, ob ein Team vorhanden ist
   * @param int TeamID
   */
 	function checkTeam($id){
		$query = 	"SELECT id
					FROM stedano_teams
					WHERE id = ?
					LIMIT 1";
					
		// Prepared Statement vorbereiten
 		if($stmt = $this->mysql->conn->prepare($query)) {		
			
			// Parameter in das Statement �bernehmen
			$stmt->bind_param('i', $id);
			
			$stmt->execute();
			
			$teamId = NULL;
			$stmt->bind_result($teamId);
			
			// Ausf�hren des Statements
			if($stmt->fetch()) {
				// Statement killen						
				$stmt->close();
	
				return true;							
			}
			else{
				new Error("Team kann nicht gefunden werden!",true);
				return false;
			}
 		}	
 	}
 	
 	/**
 	 * Mehtode zum ändern eines Kurznamen
 	 * @param string Kurzname
 	 */
 	function changeShortname($shortname){
 		$query = 	"UPDATE stedano_teams
 					SET kurzname = ?
					WHERE id = ?";
		if($stmt = $this->mysql->conn->prepare($query)) {		// Prepared Statement vorbereiten
			
			$stmt->bind_param('si', $shortname, $this->id);				// Parameter in das Statement �bernehmen
			if(!$stmt->execute()){							// Statement abfeuern
				new Error("Fehler beim �ndern des Modus",true);
			}
			$stmt->close();
		}	
 	}
 	
 	/**
 	 * Mehtode zum ändern eines Langnamen
 	 * @param string Langname
 	 */
 	function changeLongname($longname){
 		$query = 	"UPDATE stedano_teams
 					SET langname = ?
					WHERE id = ?";
		if($stmt = $this->mysql->conn->prepare($query)) {		// Prepared Statement vorbereiten
			
			$stmt->bind_param('si', $longname, $this->id);				// Parameter in das Statement übernehmen
			if(!$stmt->execute()){							// Statement abfeuern
				new Error("Fehler beim �ndern des Modus",true);
				
			}
			$stmt->close(); // Statement schließen
		}	
 	}
 	
	/**
	 * Prüfung, ob der Kurzname schon in der Datenbank vorhanden ist
	 * @param string Kurzname
	 */
	function checkShortname($kurzname){
		$query = 	"SELECT id
					FROM stedano_teams
					WHERE kurzname = ?
					LIMIT 1";
					
		// Prepared Statement vorbereiten
 		if($stmt = $this->mysql->conn->prepare($query)) {		
			
			// Parameter in das Statement �bernehmen
			$stmt->bind_param('s', $kurzname);
			
			$stmt->execute();
			
			$teamId = NULL;
			$stmt->bind_result($teamId);
			
			// Ausf�hren des Statements
			if($stmt->fetch()) {
				// Statement killen						
				$stmt->close();
				echo "Team bereits vorhanden (Kurzname)";
				return true;							
			}
			else{
				new Error("Kurzname nicht vorhanden",true);
				return false;
			}
 		}	
 	}
 	
 	/**
	 * Prüfung, ob der Langname schon in der Datenbank vorhanden ist
	 * @param string Langname
	 */
 	function checkLongname($langname){
		$query = 	"SELECT id
					FROM stedano_teams
					WHERE langname = ?
					LIMIT 1";
					
		// Prepared Statement vorbereiten
 		if($stmt = $this->mysql->conn->prepare($query)) {		
			
			// Parameter in das Statement �bernehmen
			$stmt->bind_param('s', $langname);
			
			$stmt->execute();
			
			$teamId = NULL;
			$stmt->bind_result($teamId);
			
			// Ausf�hren des Statements
			if($stmt->fetch()) {
				// Statement killen						
				$stmt->close();
				echo "Team bereits vorhanden (Langname)";
				return true;							
			}
			else{
				new Error("Langname nicht vorhanden",true);
				return false;
			}
 		}	
 	}
 	

 }
?>
